#include "personnel.h"
#include "debug.h"
#include "gestion_personnels.h"
#include "dessiner.h" // utiliser pour afficher les menus
#include <stdio.h>
#include <stdlib.h>
#define MAX 100


void banner()
{
	printf("\n");
	dessiner_ligne(46);
	dessiner_milieu(46,"Systeme d'analyse");printf("\n");
	dessiner_milieu(46,"d'evenements ");printf("\n");
	dessiner_ligne(46);
}

void afficher_choix(char variable[])
{
	dessiner_ligne(46);
        dessiner_milieu(46,"1/ Afficher la liste des %ss",variable);
	printf("\n");
        dessiner_milieu(46,"2/ Ajouter un %s",variable);
        printf("\n");
	dessiner_milieu(46,"3/ Supprimer un %s",variable);
        printf("\n");
	dessiner_milieu(46,"4/ Initialisation de la liste des %ss",variable);
        printf("\n");
	dessiner_milieu(46,"0/ Retour");
	printf("\n");
	dessiner_ligne(46);
}



// affiche la gestion des personnels (desactiver si admin = 0)
void afficher_gestion_personnels(personnel_db personnel[],int *nbre_personnel,int admin)
{
	int choix;
	int id;

	afficher_choix("personnel");
	printf("> ");
	scanf("%d",&choix);


	switch (choix) {
		case 1: {afficher_personnel_db(personnel, *nbre_personnel);afficher_gestion_personnels(personnel,nbre_personnel, admin);}
		break;
		case 2: { ajouter_personnel(personnel, nbre_personnel);afficher_gestion_personnels(personnel,nbre_personnel, admin);}
		break;
		case 3: {
				printf("\n[+] donner l'identifiant: ");
				scanf("%d",&id);
				supprimer_personnel(personnel,id,nbre_personnel);afficher_gestion_personnels(personnel,nbre_personnel, admin);
			}

		break;
		case 4: {modifier_personnel( personnel, *nbre_personnel) ; afficher_gestion_personnels(personnel,nbre_personnel, admin);}
		break;
		case 5: {init_personnel_db(personnel,nbre_personnel);afficher_gestion_personnels(personnel,nbre_personnel, admin);}
		break;
		case 0: {}
		break;
		default: {printf("\nmauvais choix");}
	}
}

int main ()
{
	int admin = 1; // 2 si l'utilisateur est un personnel 1 si l'utilisateur est un admin
	personnel_db Tab_Personnels[MAX];
	int n_personnels = 0;
	int choix;
	debug("Chargement des personnels...");
	extraire_personnels(Tab_Personnels, &n_personnels);

	while ( 2 > 1)
	{
		banner();
		afficher_gestion_personnels(Tab_Personnels,  &n_personnels, admin) ;
	}
}
